1

今天试着使用 Selenium 做爬虫时 print 爬取到的信息时,程序报错,信息如下:

Traceback (most recent call last):
  File "spider.py", line 19, in <module>
    print(girlsList)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

在解释器里执行sys.stdout时,返回的结果是

<_io.TextIOWrapper name='<stdout>' mode='w' encoding='ANSI_X3.4-1968'>

这里可以发现encoding=”ANSI_X3.4-1968“,而我们的需要的编码是utf-8,所以需要在程序的头部加入如下代码:

import sys, io

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="urf-8")

这样就可以正常的做输出操作了

参考信息:解决Python3下打印utf-8字符串出现UnicodeEncodeError的问题


Rakyui
80 声望0 粉丝

1.新手